#!/usr/bin/env node
// 运行在node环境的可执行的脚本
const fs = require('fs');
const path = require('path');
let count = 0;
//process.cwd() 获取当前所在的目录
const pathParams = process.cwd();

function dirTree(pathParams) {
  // 判断是文件夹还是文件
  // 文件夹 : 递归
  if (fs.statSync(pathParams).isDirectory()) {

    console.log(mark(count), getName(pathParams));
    count++;
    // 取出当前文件夹所有的子文件
    let fileList = fs.readdirSync(pathParams);
    fileList.forEach(item => dirTree(path.join(pathParams, item)));
    count--;
  } else {
    // 文件
    console.log(mark(count), getName(pathParams));
  }
  // 文件 : 打印
}

function mark(index) {
  if (index === 0) {
    return '你要读取的文件:';
  } else {
    // 根据index 拼接 |-
    let str = '';
    for (let i = 0; i < index; i++) {
      str += '|-';
    }
    return str;
  }
}

function getName(pathParams) {
  // 路径的最后一个文件/或者文件夹
  return path.parse(pathParams).base;
}

dirTree(pathParams);
